1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect;
18
19 import static com.google.common.base.Preconditions.checkNotNull;
20
21 import com.google.common.annotations.GwtCompatible;
22
23 import java.io.Serializable;
24 import java.util.Comparator;
25
26 import javax.annotation.Nullable;
27
28
29 @GwtCompatible(serializable = true)
30 final class ComparatorOrdering<T> extends Ordering<T> implements Serializable {
31 final Comparator<T> comparator;
32
33 ComparatorOrdering(Comparator<T> comparator) {
34 this.comparator = checkNotNull(comparator);
35 }
36
37 @Override public int compare(T a, T b) {
38 return comparator.compare(a, b);
39 }
40
41 @Override public boolean equals(@Nullable Object object) {
42 if (object == this) {
43 return true;
44 }
45 if (object instanceof ComparatorOrdering) {
46 ComparatorOrdering<?> that = (ComparatorOrdering<?>) object;
47 return this.comparator.equals(that.comparator);
48 }
49 return false;
50 }
51
52 @Override public int hashCode() {
53 return comparator.hashCode();
54 }
55
56 @Override public String toString() {
57 return comparator.toString();
58 }
59
60 private static final long serialVersionUID = 0;
61 }